﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Mail;

namespace Sociedad.DAL
{    
    public class NotificarUsuarioDAL
    {
        EntityConnectionSOA context = new EntityConnectionSOA();

        public List<vw_Listar_UsuariosNotificar> Listar_UsuariosNotificar()
        {
            try
            {
                List<vw_Listar_UsuariosNotificar> lstSol = new List<vw_Listar_UsuariosNotificar>();
                var lst = from lista in context.vw_Listar_UsuariosNotificar
                          select lista;
                if (lst.Count() > 0)
                {
                    lstSol = lst.ToList();
                }
                return lstSol;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        public String EnviarNotificacion(soa_NotificarUsuario pNotUser, String pCodDoc)
        {
            String cRpta = "0@";
            try
            {
                List<vw_Listar_UsuariosNotificar> lstUsr = new List<vw_Listar_UsuariosNotificar>();
                var lst = from lista in context.vw_Listar_UsuariosNotificar
                          where lista.cnot_CodUO == pNotUser.cnot_CodUO && lista.cprm_TipUO == pNotUser.cprm_TipUO && lista.ctdo_Codigo == pNotUser.ctdo_Codigo && lista.cprm_Codigo == pNotUser.cprm_Estado
                          select lista;
                if (lst.Count() > 0)
                {
                    lstUsr = lst.ToList();

                    foreach (vw_Listar_UsuariosNotificar beNoti in lstUsr)
                    {
                        MailMessage mail = new MailMessage();
                        SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");

                        mail.From = new MailAddress("apizarro2012@gmail.com");
                        mail.To.Add(beNoti.usr_Email);
                        mail.Subject = "Notificación SOA - " + beNoti.ctdo_Descripción;

                        mail.IsBodyHtml = true;
                        string htmlBody;

                        var html = System.Xml.Linq.XDocument.Parse("<table border = \"0\" cellpadding = \"2\" cellspacing = \"0\" style=\"width:100%\">" +
    	                                                           "     <tr>" +
        	                                                       "         <td style=\"font-size:9px; color:#008000\" align=\"center\" colspan=\"3\">" +
            	                                                   "             *** ESTE ES UN CORREO DESATENDIDO, NO RESPONDER ***" +
                                                                   "         </td>" +
                                                                   "     </tr>" +
                                                                   "     <tr style=\"height:30px\"><td></td></tr>          " +
    	                                                           "     <tr>" +
        	                                                       "         <td style=\"font-size:16px; font-weight:bold; color:#000066\" align=\"center\" colspan=\"3\">" +
            	                                                   "             NOTIFICACION DE "+ beNoti.ctdo_Descripción.ToUpper() +
                                                                   "         </td>" +
                                                                   "     </tr>      " +  
                                                                   "     <tr style=\"height:30px\"><td></td></tr>        	" +
                                                                   "     <tr>" +
        	                                                       "         <td width=\"15px\"></td>" +
        	                                                       "         <td width=\"170px\" style=\"font-size:13px; font-weight:bold; font-family:Arial, Helvetica, sans-serif;\">" +
				                                                   "             Tipo de Documento:" +
                                                                   "         </td>" +
        	                                                       "         <td style=\"font-size:13px; font-family:Arial, Helvetica, sans-serif;\">"+beNoti.ctdo_Descripción+"</td>  " +
                                                                   "     </tr>" +
                                                                   "     <tr>" +
        	                                                       "         <td></td>        " +
        	                                                       "         <td style=\"font-size:13px; font-weight:bold; font-family:Arial, Helvetica, sans-serif;\">" +
            	                                                   "             Código de Documento:" +
                                                                   "         </td>" +
                                                                   "         <td style=\"font-size:13px; font-family:Arial, Helvetica, sans-serif;\">" + pCodDoc + "</td>  " +
                                                                   "     </tr>        " +
                                                                   "     <tr>" +
        	                                                       "         <td></td> " +
        	                                                       "         <td style=\"font-size:13px; font-weight:bold; font-family:Arial, Helvetica, sans-serif;\">" +
            	                                                   "             Resultado de Evaluación:" +
                                                                   "         </td>" +
        	                                                       "         <td style=\"font-size:13px; font-family:Arial, Helvetica, sans-serif;\">"+beNoti.cprm_Descripcion+"</td>  " +
                                                                   "     </tr>        " +
                                                                   "     <tr style=\"height:30px\"><td></td></tr>          " +
    	                                                           "     <tr>" +
        	                                                       "         <td></td>         " +
                                                                   "         <td style=\"font-size:14px; font-weight:bold; color:#333333\" colspan=\"3\">" +
                                                                   "             Sistema de Sociedad de Auditoría<br/>" +
                                                                   "             Contraloría General de la República" +
                                                                   "         </td>" +
        	                                                       "         <td></td>             " +
                                                                   "     </tr>   " +
                                                                   " </table>");
                        htmlBody = html.ToString();
                        mail.Body = htmlBody;

                        SmtpServer.Port = 587;
                        //Configurar las credenciasles de la cuenta de salida: usuario y clave
                        SmtpServer.Credentials = new System.Net.NetworkCredential("apizarro2012", "admin");
                        SmtpServer.EnableSsl = true;

                        SmtpServer.Send(mail);
                    }
                    cRpta = "1@";
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return cRpta;
        }
    }
}
